const baseURL = "https://api-hmugo-web.itheima.net/api/public/v1";

const interceptor = {
  invoke(args) {
    uni.showLoading({ title: "加载中..." });
    // 如果请求的开头是https，那么是完整的请求，直接使用
    // 否则需要拼接请求头
    if (!args.url.startsWith("https")) {
      args.url = baseURL + args.url;
    }
    // 设置请求头
    args.header = {
      ...args.header, //保留原版的header
      "source-client": "miniapp",
    };
  },
  complete() {
    uni.hideLoading();
  },
  fail(err) {
    console.log("interceptor-fail", err);
  },
};

// 拦截请求
uni.addInterceptor("request", interceptor);

const http = async (options) => {
  const res = await uni.request(options);

  //请求成功，
  if (res.statusCode >= 200 && res.statusCode < 300) {
    return res.data;
  }

  //   通常401是token失效，跳到登录页
  else if (res.statusCode === 401) {
    uni.navigateTo({ url: "/pages/login/index" });
    return;
  } else {
    return res;
  }
};

export default http;
